package tests;

import org.testng.annotations.Optional;
import org.testng.annotations.Parameters;

import framework.BaseTestExtended;
import framework.forms.BaseFormWithTopMenu.TOP_MENU;
import framework.forms.LoginForm;
import framework.forms.MainForm;
import framework.forms.MyCabinetForm;

/** Тест на проверку работоспособности некоторых ссылок
 */
public class CheckAllLinks extends BaseTestExtended {

	/** Базовый конструктор
	 * @param userIndex - порядковый номер юзера (из файла credentials.properties), под которым проходится текущий тест
	 */
	@Parameters({"userIndex"})
	public CheckAllLinks(@Optional("1") final int userIndex){
		CheckAllLinks.userIndex = userIndex;
	}

	private static int userIndex; // порядковый номер юзера (из файла credentials.properties), под которым проходится текущий тест

	/** Метод запуска тестов
	 */
	@Override
	public void runTest() {
		super.runTest();
		LogStep(); //1 Открываем главную страницу, логинимся
		info("Открываем главную страницу, логинимся");
		MainForm mainForm = new MainForm();
		LoginForm loginForm  = mainForm.openLoginForm();
		MyCabinetForm mCab = loginForm.login(userIndex);

		LogStep(); //2 Открываем по очереди ссылки верхнего меню
		info("Открываем по очереди ссылки верхнего меню");
		mCab.navigateToTopMenu(TOP_MENU.GLAVNAYA, true);
		mCab.checkTopMenuItems();
		getBrowserExt().closeWindowAndSwitch();
	}

	@Override
	public boolean shouldAnalys() {
		return false;
	}

	@Override
	public void invokeAnalys(Throwable exc, String bodyText) {
	}

}
